package com.flame.workflow.re.mapper;

import java.util.List;

import com.flame.workflow.re.controller.vo.PropertyVo;
import com.flame.workflow.re.entity.Property;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * flame_workflow_re_property 流程属性定义表
 *
 * @author 吴欣童
 * @since 2023-05-04 19:56:01
 */
@Mapper
public interface PropertyMapper {

    List<Property> page(PropertyVo propertyVo);

    void insert(Property property);

    void updateById(Property property);

    void deleteById(@Param("modelId") Long modelId, @Param("modelVersion") Integer modelVersion, @Param("objectId") String objectId, @Param("propertyKey") String propertyKey);

    Property findById(@Param("modelId") Long modelId, @Param("modelVersion") Integer modelVersion, @Param("objectId") String objectId, @Param("propertyKey") String propertyKey);

    List<Property> listByObjectId(@Param("modelId") Long modelId, @Param("modelVersion") Integer modelVersion, @Param("objectId") String objectId);

    void deleteByModelId(@Param("modelId") Long modelId, @Param("modelVersion") Integer modelVersion);
}